package br.unifor.lares.forms;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import br.unifor.lares.entities.Usuario;
import br.unifor.lares.persistence.UsuarioDAO;

@ManagedBean(name = "loginForm", eager = true)
@RequestScoped
public class LoginForm {
	private Usuario usuario = new Usuario();

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public String autenticarUsuario() {
		UsuarioDAO usuarioDAO = new UsuarioDAO();
		List<Usuario> usuarios = usuarioDAO.listar();

		for (Usuario usuario : usuarios) {
			if (this.usuario.getUsername().equals(usuario.getUsername())) {
				if (this.usuario.getSenha().equals(usuario.getSenha())) {
					FacesContext.getCurrentInstance().getExternalContext()
							.getSessionMap().put("usuario", usuario);
					System.out.println("Sucess");
					return "usuarioLogado.xhtml";

				}
			}
		}
		return "error";
	}

	public String logout(int action) {
		if (action == 1) {
			FacesContext facesContext = FacesContext.getCurrentInstance();
			HttpSession session = (HttpSession) facesContext
					.getExternalContext().getSession(false);
			session.invalidate();
			return "index.xhtml";
		}
		return null;
	}
}
